<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        * {
            padding: 0;
            margin: 0;
        }

        .box {
            width: 200px;
            height: 200px;
            background-color: rgba(0, 0, 0, 0.4);
            margin: 10px;

        }
    </style>
</head>

<body>
    <div class="box"></div>
</body>
<script>
    // 给一个元素绑定事件的方式
    // 1. 内联JS绑定事件  (了解)
    // 2. 普通绑定(DOM一级绑定  赋值式)        => 一个元素只能绑定一个相同类型的事件
    // 3. 事件监听(侦听)绑定事件   DOM二级绑定  =>  可以给一个元素绑定多个相同类型的事件

    // 回调函数(把函数当成参数传到另一个函数中  相当于提前规定好了要执行的内容 )

    // ele.addEventListener(eventType,callback,bool)
    // ele         绑定事件元素
    // eventType   绑定事件的类型 (click dblclick )
    // callback    回调函数,事件出发时执行的内容
    // bool        (可选)

    var box = document.getElementsByClassName("box")[0];

    // box.onclick = function (){
    //     alert(1111);
    // }
    // box.onclick = function (){
    //     alert(2222);
    // }

    box.addEventListener("click", function () {
        this.style.background = randColor();
    });
    box.addEventListener("click", function () {
        console.log(1111);
    });

    // 封装一个方法 随机一个颜色
    /* randColor()
    function randColor(){
        var str = "#";
        for(var i = 0 ; i < 6 ; i++){
            var num = Math.round(Math.random()*15);
            var char = num.toString(16);
            str += char;
        }
        console.log(str);
        return str;
    } */

    /* function randColor() {
        var colorStr = "0123456789abcdef";
        var str = "#";
        for (var i = 0; i < 6; i++) {
            var index = Math.floor(Math.random() * colorStr.length);
            var char = colorStr.charAt(index);
            str += char;
        }
        return str;
    } */

    function randColor(){
        return `rgba(${randNum()},${randNum()},${randNum()},1)`
    }
    function randNum(){
        return Math.round(Math.random()*255);
    }
</script>

</html>